Можно использовать, перечисляют (), чтобы циклично выполниться через сгенерированный поток данных, затем возвратить последнее число - количество объектов.
я пытался использовать itertools.count () с itertools.izip (), но никакая удача. Это - лучший/самый короткий ответ, который я придумал:
#!/usr/bin/python
import itertools
def func():
for i in 'yummy beer':
yield i
def icount(ifunc):
size = -1 # for the case of an empty iterator
for size, _ in enumerate(ifunc()):
pass
return size + 1
print list(func())
print 'icount', icount(func)
# ['y', 'u', 'm', 'm', 'y', ' ', 'b', 'e', 'e', 'r']
# icount 10
решением Kamil Kisiel является путь лучше:
def count_iterable(i):
return sum(1 for e in i)
Какой язык вам следует выучить, ну, каков ваш опыт на данный момент? Я предпочитаю C # VB.NET. Хотя, в конце концов, вы сможете программировать на VB.NET, даже если вы говорите, что C # является основным языком (то же самое верно и для VB.NET). Возможно, вы захотите проверить синтаксис каждого языка и с первого взгляда увидеть, какой из них вам больше нравится. Вы, вероятно, обнаружите, что всякий раз, когда предоставляются примеры кода для .NET, а оба языка отсутствуют, обычно это примеры на C #. Однако это не имеет большого значения. Я считаю, что C # (и подобные языки) менее подробны, но это предпочтение. Вот несколько хороших ресурсов. Я настоятельно рекомендую видео LearnVisualStudio.NET; начните с учебных пособий для начинающих и переходите к более сложным темам.
Некоторые замечательные ресурсы включают:
http: //www.dotnetrocks. http://www.se-radio.net (подкаст общей разработки программного обеспечения) http://www.haacked.com (блог Фила Хаака) http://weblogs.asp.net/scottgu/ (блог Скотта Гатри)
https://stackoverflow.com/questions/551315/which-c-net-blogs-do-you- прочтите (предыдущий вопрос с хорошим списком блогов)
http://www.learnvisualstudio.net (хорошее место для поиска видеокурсов, дешево)
https://stackoverflow.com/ questions / 54423 / best-net-podcasts (предыдущий вопрос) Какие существуют хорошие технологические подкасты? (больше подкастов)
Проекты с открытым исходным кодом:
http://www.codeplex.com отлично подходят для проектов .NET с открытым исходным кодом.
Также:
http://csharp-source.net/ (неплохо, некоторые проекты старые и не обслуживаются)
http://sourceforge.net/softwaremap/trove_list.php?form_cat = 271 C # как SourceForge
Возможности C # с открытым исходным кодом (предыдущий вопрос с хорошей информацией)
Я бы начал с Fabulous Adventures In Coding , отличный блог одного из тех, кто действительно работает над C #. Затем я бы также посмотрел на CodeProject и MSDN . Наконец, вы не можете забыть веб-сайт Джоэла Спольски !
Для регулярных выражений не ищите ничего, кроме здесь . Cosmos - изящный проект, хотя и немного тяжелый для новичков, а DevExpress имеет лучшее VS-приложение на этой стороне земли! Лично мне не нравится ReSharper , но многим другим нравится.
(помечаю его CW, чтобы каждый мог внести свой вклад)
Отличные предложения. Еще один сайт, о котором всегда нужно помнить в связи с открытым исходным кодом, - это Google Code. Кроме того, у Google есть отличные функции поиска для поиска чего угодно в их кодовой базе.
Эти вопросы тоже были у меня в голове, когда я начал изучать .NET. Я предпочитаю C # VB. Но тогда это сугубо личный выбор. На мой взгляд, начните с хорошей книги вроде Beginning Microsoft Visual C # 2008 или Head First C #. И онлайн-источник, который я считаю очень полезным MSDN .
Если вас интересует веб-разработка, посетите http://www.asp.net .
Также проверьте MSDN Magazine , 4 парня из Роллы и Linq Project .
Вы можете найти сравнение C # и VB.NET здесь
Также эта Статья в CodeProject описывает полные различия между C # и VB.NET. Вы получите большое количество проектов с открытым исходным кодом из CodeProject
. Вы можете найти уже существующий проект TextPad , который поможет вам узнать больше о C #
Что касается вашего вопроса, изучать ли VB.NET или C # ... Что ж, есть личные предпочтения и есть реалии.
Если вы хотите зарабатывать на жизнь этим, имейте в виду, что в целом C # сделает вас более трудоспособным.
Пример. На данный момент Dice перечисляет 4421 совпадение для C # по сравнению с 1131 для vb.net.
Я могу порекомендовать "Начало ASP.NET 3.5 в C # 2008: от новичка до профессионала" от Мэтью Макдональда. Он не полагается на глубокие знания C #, и даже тем, кто знает C #, его интересно читать. Я почти наполовину закончил, и это действительно приятно читать.
Не удивляйтесь, что почти 1000 страниц - внутри множество списков кода и изображений.
Я думаю, что есть даже VB.NET редакция, но я предпочитаю C # - и я все еще думаю, что Microsoft уделяет этому языку больше внимания.
Для программирования GDI (графики) на C # / VB.Net см. Раздел «Руководство для начинающих по GDI +» на bobpowell.net .
Я работал по многим сложным темам, они очень хорошо написаны и содержат отличные примеры.