my_list = [1, 2, 3, 4]
auto myArray = [1, 2, 3];
left_list + right_list
leftArray ~ rightArray;
names.append('Alex')
names ~= "Alex";
'Alex' in names_list
import std.algorithm;
namesArray.canFind("Alex");
del names_list[0]
del names_list[1:3]
import std.algorithm;
import std.typecons;
names = names.remove(0);
names = names.remove(tuple(1, 3));
names[1:3]
names[:-1]
names[1:]
names[1..3]
names[0..$-1]
names[1..$]
len(names)
names.length
names.index('Alex')
import std.algorithm;
names.countUntil("Alex");
point = {'x': 0.52, 'y': 42, 'z': 1.3}
auto point = ["x": 0.52, "y": 42, "z": 1.3];
for key, value in my_dict.items():
pass
for key, value in my_dict.keys():
pass
for key, value in my_dict.items():
pass
foreach(key, value; myDict) {
// ...
}
foreach(key; myDict.keys) {
// ...
}
foreach(value; myDict.values) {
// ...
}
my_dict[key] = value
myDict[key] = value;
key in my_dict
(key in MyDict) !is null;
del my_dict['a']
myDict.remove("a");
pair = x1, x2,
import std.typecons;
auto pair = tuple(x1, x2);
add(*pair)
import std.typecons;
add(pair.expand);
x = (1, 2)[0]
import std.typecons;
auto x = tuple(1, 2)[0];
Функционал кортежей в D скуднее чем в Python. Нельзя конкатенировать их, присваивать набору переменных значения кортежа. Кортеж в D может быть именованым кортежем.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
point = Point(1, 2)
import std.typecons;
alias Point = tuple!("x", "y");
auto point = Point(1, 2);
Или
from collections import namedtuple
point = namedtuple('Point', ['x', 'y'])(1, 2)
import std.typecons;
auto point = tuple!("x", "y")(1, 2);
Получение элемента по названию поля
x = point.x
auto x = point.x;